When a large amount of data is stored in a database, such as when a server computer collects large numbers of records, or transactions, of data over long periods of time, other computers sometimes desire access to that data or a targeted subset of that data. In such case, the other computers can query for the desired data via one or more query operators. In this regard, historically, relational databases have evolved for this purpose, and have been used for such large scale data collection, and various query languages have developed which instruct database management software to retrieve data from a relational database, or a set of distributed databases, on behalf of a querying client.
It is often desirable to author source code for such management functions in a declarative programming language. Unlike imperative programming languages, declarative programming languages allow users to write down what they want from their data without having to specify how those desires are met against a given technology or platform. However, current models authored in a declarative modeling language usually go through a series of tools that transform declarative definitions into various concrete implementation artifacts. Moreover, once a model is received by a database, the declarative nature of the model has been transformed into an imperative model, which may be undesirable.
Newly developed programming languages, including languages currently being developed by the assignee of this invention, will enable programmers to declaratively model schema and instances. Source code for such declarative execution models may then be compiled into declarative definitions that may be packaged for subsequent use by a repository, such as a running database management system (RDBMS). A tool, however is required to install these declarative definitions into RDBMSs. Moreover, to improve the adoptability and learning curve of such programming languages, a tool is also required to export contents of an RDBMS as declarative definitions that may be referenced by subsequent declarative source models.
Accordingly, there is a need for a method and system for synchronizing a declarative definition with a repository. Such a need includes a method and system for translating declarative definitions into machine code in which the declarative nature of the definition is preserved. The above-described deficiencies of current relational database systems and corresponding database management techniques are merely intended to provide an overview of some of the problems of conventional systems, and are not intended to be exhaustive. Other problems with conventional systems and corresponding benefits of the various non-limiting embodiments described herein may become further apparent upon review of the following description.